aws ec2 swap memory 확보
마지막 수정일: 2025. 03. 30.
TLDR
EC2 사용시에 ram 메모리가 부족할 땐 HDD의 일정공간을 메모리처럼 사용하는 SWAP 메모리를 사용하면 됨
terminal command
dd if=/dev/zero of=/root/swapfile bs=1k count=2000000 conv=excl
chmod 600 /root/swapfile
mkswap /root/swapfile
swapon /root/swapfile
free -h
각 명령어 설명
dd if=/dev/zero of=/root/swapfile bs=1k count=2000000 conv=excl
- 역할: 빈 데이터를 채운 2GB 크기의 스왑 파일을 생성
- 옵션 설명:
if=/dev/zero: 입력 파일로 0으로 채워진 바이트 스트림 사용of=/root/swapfile: 출력 파일의 위치 및 이름bs=1k: 블록 크기를 1KB로 지정count=2000000: 총 2,000,000개의 블록 → 약 2GBconv=excl:of파일이 이미 존재하면 덮어쓰지 않고 실패함
2. `chmod 600 /root/swapfile` - 역할: 스왑 파일의 권한 설정 (소유자만 읽기/쓰기 가능) - 보안상 이유 : 루트 외에는 접근하지 못하게 제한
3. `mkswap /root/swapfile` - 역할 : 위에서 만든 파일을 실제 스왑 영역으로 초기화 (스왑 시그니처 부여)
4. `swapon /root/swapfile` - 역할: 초기화된 스왑 파일을 시스템에 활성화
free -h
- 역할: 현재 메모리와 스왑 사용 현황을 사람이 읽기 쉬운 형태로 출력
추가 설정
- 이 설정은 인스턴스가 재부팅되면 사라지므로,
/etc/fstab에 아래 한 줄을 추가하면 부팅 시 자동으로 스왑을 활성화할 수 있음
/root/swapfile none swap sw 0 0
- EC2의 기본 설정에서는 스왑이 비활성화되어 있으므로 설정하면 좋을 듯